//package org.jeecg.boot.starter.lock.test;
//
//import org.junit.jupiter.api.Test;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.test.context.SpringBootTest;
//
//import java.util.concurrent.ExecutorService;
//import java.util.concurrent.Executors;
//import java.util.concurrent.TimeUnit;
//import java.util.stream.IntStream;
//
//@SpringBootTest(classes = LockTestApplication.class)
//public class LockTest {
//    @Autowired
//    LockService lockService;
//
//    /**
//     * 测试分布式锁(模拟秒杀)
//     */
//    @Test
//    public void test1() throws Exception {
//        ExecutorService executorService = Executors.newFixedThreadPool(6);
//        IntStream.range(0, 30).forEach(i -> executorService.submit(() -> {
//            try {
//                lockService.seckill("20120508784");
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//        }));
//        executorService.awaitTermination(30, TimeUnit.SECONDS);
//    }
//
//    /**
//     * 测试分布式锁(模拟秒杀)
//     */
//    @Test
//    public void test2() throws Exception {
//        ExecutorService executorService = Executors.newFixedThreadPool(6);
//        IntStream.range(0, 30).forEach(i -> executorService.submit(() -> {
//            try {
//                lockService.seckill2("20120508784");
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//        }));
//        executorService.awaitTermination(30, TimeUnit.SECONDS);
//    }
//
//    /**
//     * 测试分布式锁(模拟重复提交)
//     */
//    @Test
//    public void test3() throws Exception {
//        ExecutorService executorService = Executors.newFixedThreadPool(6);
//        IntStream.range(0, 20).forEach(i -> executorService.submit(() -> {
//            try {
//                lockService.reSubmit("test");
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//        }));
//        executorService.awaitTermination(30, TimeUnit.SECONDS);
//    }
//}
